<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>EGCS 1.1</title>
<link rel="stylesheet" type="text/css" href="https://gcc.gnu.org/gcc.css" />
</head>
<body>

<h1>EGCS 1.1</h1>

<p>September 3, 1998: We are pleased to announce the release of EGCS 1.1.<br />
December 1, 1998: We are pleased to announce the release of EGCS 1.1.1.<br />
March 15, 1999: We are pleased to announce the release of EGCS 1.1.2.</p>

<p>EGCS is a free software project to further the development of the
GNU compilers using an open development environment.</p>

<p>EGCS 1.1 is a major new release of the EGCS compiler system.  It has been
<a href="egcs-1.1-test.html">extensively tested</a> and is believed to be
stable and suitable for widespread use.</p>

<p>EGCS 1.1 is based on an June 6, 1998 snapshot of the GCC 2.8 development
sources; it contains all of the new features found in GCC 2.8.1 as well as
all new development from GCC up to June 6, 1998.</p>

<p>EGCS 1.1 also contains many improvements and features not found in GCC or
in older versions of EGCS:</p>

<ul>
  <li> Global common subexpression elimination and
  global constant/copy propagation (aka <a href="../news/gcse.html">gcse</a>)</li>
  <li> Ongoing improvements to the <a href="../news/alias.html">alias analysis</a>
  support to allow for better optimizations throughout the compiler.</li>
  <li> Vastly improved <a href="c++features.html">C++ compiler</a> and
  integrated C++ runtime libraries.</li>
  <li> Fixes for the /tmp symlink race security problems.</li>
  <li> New targets including mips16, arm-thumb and 64 bit PowerPC.</li>
  <li> Improvements to GNU Fortran (<code>g77</code>) compiler and
  runtime library made since <code>g77</code> version 0.5.23.</li>
</ul>

<p>See the <a href="features.html">new features</a> page for a more complete
list of new features found in EGCS 1.1 releases.</p>

<p>EGCS 1.1.1 is a minor update to fix several serious problems in
EGCS 1.1:</p>

<ul>
  <li> General improvements and fixes
  <ul>
    <li> Avoid some stack overflows when compiling large functions.</li>
    <li> Avoid incorrect loop invariant code motions.</li>
    <li> Fix some core dumps on Linux kernel code.</li>
    <li> Bring back the imake -Di386 and friends fix from EGCS 1.0.2.</li>
    <li> Fix code generation problem in gcse.</li>
    <li> Various documentation related fixes.</li>
  </ul></li>
  <li> g++/libstdc++ improvements and fixes
  <ul>
    <li> MT safe EH fix for setjmp/longjmp based exception handling.</li>
    <li> Fix a few bad interactions between optimization and exception 
         handling.</li>
    <li> Fixes for demangling of template names starting with "__".</li>
    <li> Fix a bug that would fail to run destructors in some cases with 
         -O2.</li>
    <li> Fix 'new' of classes with virtual bases.</li>
    <li> Fix crash building Qt on the Alpha.</li>
    <li> Fix failure compiling WIFEXITED macro on GNU/Linux.</li>
    <li> Fix some -frepo failures.</li>

  </ul></li>
  <li> g77 and libf2c improvements and fixes
  <ul>
    <li> Various documentation fixes.</li>
    <li> Avoid compiler crash on RAND intrinsic.</li>
    <li> Fix minor bugs in makefiles exposed by BSD make programs.</li>
    <li> Define _XOPEN_SOURCE for libI77 build to avoid potential
         problems on some 64-bit systems.</li>
    <li> Fix problem with implicit endfile on rewind.</li>
    <li> Fix spurious recursive I/O errors.</li>
  </ul></li>
  <li> platform specific improvements and fixes
  <ul>
    <li> Match all versions of UnixWare7.</li>
    <li> Do not assume x86 SVR4 or UnixWare targets can handle stabs.</li>
    <li> Fix PPC/RS6000 LEGITIMIZE_ADDRESS macro and bug in conversion
    from unsigned ints to double precision floats.</li>
    <li> Fix ARM ABI issue with NetBSD.</li>
    <li> Fix a few arm code generation bugs.</li>
    <li> Fixincludes will fix additional broken SCO OpenServer header 
         files.</li>
    <li> Fix a m68k backend bug which caused invalid offsets in reg+d 
         addresses.</li>
    <li> Fix problems with 64bit AIX 4.3 support.</li>
    <li> Fix handling of long longs for varargs/stdarg functions on the 
         ppc.</li>
    <li> Minor fixes to CPP predefines for Windows.</li>
    <li> Fix code generation problems with gpr&lt;-&gt;fpr copies for 64bit 
         ppc.</li>
    <li> Fix a few coldfire code generation bugs.</li>
    <li> Fix some more header file problems on SunOS 4.x.</li>
    <li> Fix assert.h handling for RTEMS.</li>
    <li> Fix Windows handling of TREE_SYMBOL_REFERENCED.</li>
    <li> Fix x86 compiler abort in reg-stack pass.</li>
    <li> Fix cygwin/windows problem with section attributes.</li>
    <li> Fix Alpha code generation problem exposed by SMP Linux kernels.</li>
    <li> Fix typo in m68k 32-&gt;64bit integer conversion.</li>
    <li> Make sure target libraries build with -fPIC for PPC &amp; Alpha 
         targets.</li>
  </ul></li>
</ul>

<p>EGCS 1.1.2 is a minor update to fix several serious problems in
EGCS 1.1.1:</p>

<ul>
  <li> General improvements and fixes
  <ul>
    <li> Fix bug in loop optimizer which caused the SPARC (and potentially
	 other) ports to segfault.</li>

    <li> Fix infinite recursion in alias analysis and combiner code.</li>

    <li> Fix bug in regclass preferencing.</li>

    <li> Fix incorrect loop reversal which caused incorrect code to
	 be generated for several targets.</li>

    <li> Fix return value for builtin memcpy.</li>

    <li> Reduce compile time for certain loops which exposed quadratic
	 behavior in the loop optimizer.</li>

    <li> Fix bug which caused volatile memory to be written multiple
	 times when only one write was needed/desired.</li>

    <li> Fix compiler abort in caller-save.c</li>

    <li> Fix combiner bug which caused incorrect code generation for
	 certain division by constant operations.</li>

    <li> Fix incorrect code generation due to a bug in range check
	 optimizations.</li>

    <li> Fix incorrect code generation due to mis-handling of clobbered
	 values in CSE.</li>

    <li> Fix compiler abort/segfault due to incorrect register
	 splitting when unrolling loops.</li>

    <li> Fix code generation involving autoincremented addresses with
	 ternary operators.</li>

    <li> Work around bug in the scheduler which caused qt to be mis-compiled
	 on some platforms.</li>

    <li> Fix code generation problems with -fshort-enums.</li>

    <li> Tighten security for temporary files.</li>

    <li> Improve compile time for codes which make heavy use of overloaded
	 functions.</li>

    <li> Fix multiply defined constructor/destructor symbol problems.</li>

    <li> Avoid setting bogus RPATH environment variable during bootstrap.</li>

    <li> Avoid GNU-make dependencies in the texinfo subdir.</li>

    <li> Install CPP wrapper script in $(prefix)/bin if --enable-cpp.
	 --enable-cpp=&lt;dirname&gt; can be used to specify an additional
         install directory for the cpp wrapper script.</li>

    <li> Fix CSE bug which caused incorrect label-label refs to appear on
	 some platforms.</li>

    <li> Avoid linking in EH routines from libgcc if they are not needed.</li>

    <li> Avoid obscure bug in aliasing code.</li>

    <li> Fix bug in weak symbol handling.</li>
  </ul></li>

  <li> Platform-specific improvements and fixes
  <ul>
    <li> Fix detection of PPro/PII on Unixware 7.</li>

    <li> Fix compiler segfault when building spec99 and other programs
	 for SPARC targets.</li>

    <li> Fix code-generation bugs for integer and floating point conditional
	 move instructions on the PPro/PII.</li>

    <li> Use fixincludes to fix byteorder problems on i?86-*-sysv.</li>

    <li> Fix build failure for the arc port.</li>

    <li> Fix floating point format configuration for i?86-gnu port.</li>

    <li> Fix problems with hppa1.0-hp-hpux10.20 configuration when
	 threads are enabled.</li>

    <li> Fix coldfire code generation bugs.</li>

    <li> Fix "unrecognized insn" problems for Alpha and PPC ports.</li>

    <li> Fix h8/300 code generation problem with floating point values
	 in memory.</li>

    <li> Fix unrecognized insn problems for the m68k port.</li>

    <li> Fix namespace-pollution problem for the x86 port.</li>

    <li> Fix problems with old assembler on x86 NeXT systems.</li>

    <li> Fix PIC code-generation problems for the SPARC port.</li>

    <li> Fix minor bug with LONG_CALLS in PowerPC SVR4 support.</li>

    <li> Fix minor ISO namespace violation in Alpha varargs/stdarg support.</li>

    <li> Fix incorrect "braf" instruction usage for the SH port.</li>

    <li> Fix minor bug in va-sh which prevented its use with -ansi.</li>

    <li> Fix problems recognizing and supporting FreeBSD.</li>

    <li> Handle OpenBSD systems correctly.</li>

    <li> Minor fixincludes fix for Digital UNIX 4.0B.</li>

    <li> Fix problems with ctors/dtors in SCO shared libraries.</li>

    <li> Abort instead of generating incorrect code for PPro/PII floating
	 point conditional moves.</li>

    <li> Avoid multiply defined symbols on GNU/Linux systems using 
         libc-5.4.xx.</li>

    <li> Fix abort in alpha compiler.</li>
  </ul></li>

  <li> Fortran-specific fixes
  <ul>
    <li> Fix the <samp>IDate</samp> intrinsic (VXT) (in <code>libg2c</code>)
         so the returned year is in the documented, non-Y2K-compliant range
	 of 0-99, instead of being returned as 100 in the year 2000.</li>

    <li> Fix the <samp>`Date_and_Time'</samp> intrinsic (in
         <code>libg2c</code>) to return the milliseconds value properly
         in <var>Values</var>(8).</li>

    <li> Fix the <samp>`LStat'</samp> intrinsic (in <code>libg2c</code>)
         to return device-ID information properly in <var>SArray</var>(7).</li>

  </ul></li>
</ul>


<p>Each release includes installation instructions in both HTML
and plaintext forms (see the INSTALL directory in the toplevel directory
of the distribution).  However, we also keep the most up to date
installation instructions
and <a href="buildstat.html">build/test status</a> on our web page.  We
will update those pages as new information becomes available.</p>

<p>The EGCS project would like to thank the numerous people that have
contributed new features, test results, bugfixes, etc.  This 
<a href="https://gcc.gnu.org/onlinedocs/gcc/Contributors.html">amazing
group of volunteers</a> is what makes EGCS successful.</p>

<p>And finally, we can't in good conscience fail to mention some
<a href="caveats.html">caveats</a> to using EGCS 1.1.</p>

<p>Download EGCS from egcs.cygnus.com (USA California).</p>

<p>The EGCS 1.1 release is also available on many mirror sites.<br />
<a href="../mirrors.html">Goto mirror list to find a closer site</a>.</p>

</body>
</html>
